#ifndef __LM_SHARE_BUFF_H__
#define __LM_SHARE_BUFF_H__

#include "lm_base.h"
#include "lmCommon.h"

class LmShareBuff
{
	public:
		LmShareBuff() {    m_bufState = -1;}
		virtual ~LmShareBuff() { }
		
		virtual int GetShareBuffStat() = 0;
		virtual int PushData(Frame_st *srcFrame) = 0;
		virtual int PopData(Frame_st *&frame, uint id = 0) = 0;
		virtual int PopDataByTime(uint startTime, Frame_st *frame, uint id = 0) = 0;
		virtual int PopDataLastKeyFrame(Frame_st *frame) = 0;
		virtual int CreateReader() { return 0;}

	protected:
		int    m_bufState;
};

#endif
